Clover coverage report - bexee - 0.1
Coverage timestamp: Do Dez 16 2004 13:24:06 CET
file stats: LOC: 73   Methods: 2
NCLOC: 26   Classes: 1
30 day Evaluation Version distributed via the Maven Jar Repository. Clover is not free. You have 30 days to evaluate it. Please visit http://www.thecortex.net/clover to obtain a licensed version of Clover
 
 Source file Conditionals Statements Methods TOTAL
BPELProcessFactoryImpl.java - 88.9% 100% 90.9%
coverage coverage
 1   
 /*
 2   
  * $Id: BPELProcessFactoryImpl.java,v 1.1 2004/12/15 14:18:10 patforna Exp $
 3   
  *
 4   
  * Copyright (c) 2004 Patric Fornasier, Pawel Kowalski
 5   
  * Berne University of Applied Sciences
 6   
  * School of Engineering and Information Technology
 7   
  * All rights reserved.
 8   
  */
 9   
 package bexee.model;
 10   
 
 11   
 import java.io.InputStream;
 12   
 import java.net.URL;
 13   
 
 14   
 import org.apache.commons.digester.xmlrules.DigesterLoader;
 15   
 
 16   
 import bexee.model.process.BPELProcess;
 17   
 import bexee.model.process.impl.BPELProcessImpl;
 18   
 
 19   
 /**
 20   
  * This is a factory class used for the creation of object representations of
 21   
  * BPEL processes. Such an representation is defined by a specified BPEL
 22   
  * document.
 23   
  * 
 24   
  * @version $Revision: 1.1 $, $Date: 2004/12/15 14:18:10 $
 25   
  * @author Patric Fornasier
 26   
  * @author Pawel Kowalski
 27   
  */
 28   
 public class BPELProcessFactoryImpl extends BPELProcessFactory {
 29   
 
 30   
     private static final String BPEL_RULES = "bexee/model/bpel-rules.xml";
 31   
 
 32   
     /**
 33   
      * Create a <code>BPELProcess</code> for the BPEL document passed as an
 34   
      * <code>InputStream</code>.
 35   
      */
 36  30
     public BPELProcess createBPELProcess(InputStream bpelDocumentStream)
 37   
             throws BPELDocumentException {
 38   
 
 39  30
         try {
 40   
             // create the root BPELProcess object
 41   
             //
 42  30
             BPELProcess processRoot = new BPELProcessImpl();
 43   
 
 44   
             // parse a BPEL document and create the BPELProcess
 45   
             //
 46  30
             BPELProcess bpelProcess = (BPELProcess) DigesterLoader.load(
 47   
                     getRulesURL(), getClass().getClassLoader(),
 48   
                     bpelDocumentStream, processRoot);
 49   
 
 50   
             // if there is a reply element, the process is synchronous
 51  30
             IsSynchronousProcessVisitor synchVisitor = new IsSynchronousProcessVisitor();
 52  30
             bpelProcess.getProcess().accept(synchVisitor);
 53  30
             bpelProcess.setSynchronous(synchVisitor.isSynchronous());
 54   
 
 55  30
             return bpelProcess;
 56   
 
 57   
         } catch (Exception ex) {
 58  0
             throw new BPELDocumentException(ex);
 59   
         }
 60   
     }
 61   
 
 62   
     /**
 63   
      * Get the <code>URL</code> of the Digester rules file. The parsing of
 64   
      * BPEL xml documents and transformation into object representations is
 65   
      * controlled by these rules.
 66   
      * 
 67   
      * @return the URL with rules descriptions
 68   
      */
 69  32
     public URL getRulesURL() {
 70  32
         return getClass().getClassLoader().getResource(BPEL_RULES);
 71   
     }
 72   
 
 73   
 }